<%--
  Created by IntelliJ IDEA.
  User: Administrator
  Date: 2022/12/27
  Time: 16:50
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>文件上传</title>
    <script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery-3.4.1.min.js"></script>
    <script>
        $(function(){
            $("#upload").click(function(){
                // 在实现ajax文件上传时,不能通过原有方式直接获取表单数据
                // 需要用到JS内置对象FormData
                // 其构造函数可以传递参数,参数为指定的表单
                // 参数必须是一个DOM对象
                let formData = new FormData($("#uploadForm")[0]);
               $.ajax({
                   type:"post",
                   url:"${pageContext.request.contextPath}/upload",
                   data:formData,
                   // 当数据传输方式不再使用表单数据时
                   // 必须将processData与contentType属性设置为false
                   // 一般用于文件上传
                   processData: false,
                   contentType: false,
                   success:function(result){
                       console.log(result);
                   }
               })
            });
        })
    </script>
</head>
<body>
<form id="uploadForm">
    用户名:<input type="text" name="username"><br>
    文件:<input type="file" name="file"><br>
    <input type="button" value="上传" id="upload">
</form>
</body>
</html>
